package com.itheima.exception;

import com.itheima.pojo.Result;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

@RestControllerAdvice// 用于定义统一的异常处理类
public class GlobalExceptionHandler {

    @ExceptionHandler(Exception.class)// 该方法处理所有类型的异常（Exception 及其子类）。也可以指定处理某种特定的异常
    public Result handleException(Exception e) {
        e.printStackTrace();
        return Result.error(StringUtils.hasLength(e.getMessage()) ? e.getMessage() : "操作失败");
        // 判断异常信息是否为空,如果不为空,返回异常信息,如果为空,返回"操作失败"
        // 有些异常对象没有封装这个异常信息，此时就需要我们自己返回一个错误信息
    }
}
